Before ECMAScript 2015, module management had to be ad-hoc or provided by 3rd-party libraries such as Node.js, Webpack, or RequireJS. Fortunately,
ES2015, provides language-standard mechanisms for module management, import
and export
, and older usages should be
converted.
Noncompliant code example
// circle.js
exports.area = function (r) {
return PI * r * r;
};
// foo.js
define(["./cart", "./horse"], function(cart, horse) { // Noncompliant
// ...
});
// bar.js
const circle = require('./circle.js'); // Noncompliant
Compliant solution
// circle.js
let area = function (r) {
return PI * r * r;
}
export default area;
// foo.js
import cart from "./cart.js";
import horse from "./horse.js";
// bar.js
import circle from "./circle.js"